/**
 * 
 */
package com.shine.icis.hbean;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

import org.apache.struts2.json.annotations.JSON;


/**
 * 审批报告单
 * @author zsy
 *
 */
public class SubmitReport implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = -1998411859294309098L;
	private String reportId;
	private String submitLogId;//报送日志ID
	private String content;//内容
	private String submitter;//提交者
	private Date submitTime;//提交时间
	private boolean passed;//是否通过
	private String insId;//流程实例ID
	private Set<ReportItem> reportItems;
	
	private transient String taskId;
	private transient SubmitLog submitLog;
	
	public String getReportId() {
		return reportId;
	}
	public void setReportId(String reportId) {
		this.reportId = reportId;
	}
	public String getSubmitLogId() {
		return submitLogId;
	}
	public void setSubmitLogId(String submitLogId) {
		this.submitLogId = submitLogId;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	public String getSubmitter() {
		return submitter;
	}
	public void setSubmitter(String submitter) {
		this.submitter = submitter;
	}
	public Date getSubmitTime() {
		return submitTime;
	}
	public void setSubmitTime(Date submitTime) {
		this.submitTime = submitTime;
	}
	public boolean getPassed() {
		return passed;
	}
	public void setPassed(boolean passed) {
		this.passed = passed;
	}
	public String getInsId() {
		return insId;
	}
	public void setInsId(String insId) {
		this.insId = insId;
	}
	@JSON(serialize=false)
	public Set<ReportItem> getReportItems() {
		return reportItems;
	}
	public void setReportItems(Set<ReportItem> reportItems) {
		this.reportItems = reportItems;
	}
	
	public String getTaskId() {
		return taskId;
	}
	public void setTaskId(String taskId) {
		this.taskId = taskId;
	}
	
	public SubmitLog getSubmitLog() {
		return submitLog;
	}
	public void setSubmitLog(SubmitLog submitLog) {
		this.submitLog = submitLog;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((reportId == null) ? 0 : reportId.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		final SubmitReport other = (SubmitReport) obj;
		if (reportId == null) {
//			if (other.reportId != null)
				return false;
		} else if (!reportId.equals(other.reportId))
			return false;
		return true;
	}
	
}

